package com.haowu.customer.domain.bo;

import com.haowu.common.core.validate.AddGroup;
import com.haowu.common.core.validate.EditGroup;
import lombok.Data;

import javax.validation.constraints.*;


/**
 * 手机会员账户业务对象
 *
 * @author lky
 * @date 2023-02-13
 */

@Data
public class HwAppAccountBo {

    /**
     * 主键id
     */
    @NotNull(message = "主键id不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 用户id
     */
    @NotNull(message = "用户id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long uid;

    /**
     * 昵称
     */
    @NotBlank(message = "昵称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String userName;

    /**
     * 头像地址
     */
    @NotBlank(message = "头像地址不能为空", groups = { AddGroup.class, EditGroup.class })
    private String userPath;

    /**
     * 账号
     */
    @NotBlank(message = "账号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String userAccount;

    /**
     * 密码
     */
    @NotBlank(message = "密码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String password;

    /**
     * 手机号
     */
    @NotBlank(message = "手机号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String userPhone;

    /**
     * 渠道 0安卓 1ios
     */
    @NotNull(message = "渠道 0安卓 1ios不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer platform;

    /**
     * 发票抬头
     */
    @NotBlank(message = "发票抬头不能为空", groups = { AddGroup.class, EditGroup.class })
    private String invoiceTitle;

    /**
     * 设备号
     */
    @NotBlank(message = "设备号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String geTuiCid;

    /**
     * 推荐码
     */
    @NotBlank(message = "推荐码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String recommendCode;

    /**
     * 状态 0正常 1禁用 2注销
     */
    @NotBlank(message = "状态 0正常 1禁用 2注销不能为空", groups = { AddGroup.class, EditGroup.class })
    private String status;

    /**
     * 是否删除 0否1是
     */
    @NotNull(message = "是否删除 0否1是不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer isDelete;


}
